home *** CD-ROM | disk | FTP | other *** search
/ Workbench Add-On / Workbench Add-On - Volume 1.iso / BBS-Archive / Dev / gcc263-src.lha / gcc-2.6.3 / config / i386 / 386bsd.h next >
C/C++ Source or Header  |  1993-10-02  |  2KB  |  82 lines

  1. /* Configuration for an i386 running 386BSD as the target machine.  */
  2.  
  3. /* This is tested by i386gas.h.  */
  4. #define YES_UNDERSCORES
  5.  
  6. #include "i386/gstabs.h"
  7.  
  8. /* Get perform_* macros to build libgcc.a.  */
  9. #include "i386/perform.h"
  10.  
  11. #undef CPP_PREDEFINES
  12. #define CPP_PREDEFINES "-Dunix -Di386 -D____386BSD____ -D__386BSD__ -DBSD_NET2 -Asystem(unix) -Asystem(bsd) -Acpu(i386) -Amachine(i386)"
  13.  
  14. /* Like the default, except no -lg.  */
  15. #define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}"
  16.  
  17. #undef SIZE_TYPE
  18. #define SIZE_TYPE "unsigned int"
  19.  
  20. #undef PTRDIFF_TYPE
  21. #define PTRDIFF_TYPE "int"
  22.  
  23. #undef WCHAR_TYPE
  24. #define WCHAR_TYPE "short unsigned int"
  25.  
  26. #define WCHAR_UNSIGNED 1
  27.  
  28. #undef WCHAR_TYPE_SIZE
  29. #define WCHAR_TYPE_SIZE 16
  30.  
  31. /* 386BSD does have atexit.  */
  32.  
  33. #define HAVE_ATEXIT
  34.  
  35. /* Redefine this to use %eax instead of %edx.  */
  36. #undef FUNCTION_PROFILER
  37. #define FUNCTION_PROFILER(FILE, LABELNO)  \
  38. {                                    \
  39.   if (flag_pic)                                \
  40.     {                                    \
  41.       fprintf (FILE, "\tleal %sP%d@GOTOFF(%%ebx),%%eax\n",        \
  42.            LPREFIX, (LABELNO));                    \
  43.       fprintf (FILE, "\tcall *mcount@GOT(%%ebx)\n");            \
  44.     }                                    \
  45.   else                                    \
  46.     {                                    \
  47.       fprintf (FILE, "\tmovl $%sP%d,%%eax\n", LPREFIX, (LABELNO));    \
  48.       fprintf (FILE, "\tcall mcount\n");                \
  49.     }                                    \
  50. }
  51.  
  52. /* There are conflicting reports about whether this system uses
  53.    a different assembler syntax.  wilson@cygnus.com says # is right.  */
  54. #undef COMMENT_BEGIN
  55. #define COMMENT_BEGIN "#"
  56.  
  57. #undef ASM_APP_ON
  58. #define ASM_APP_ON "#APP\n"
  59.  
  60. #undef ASM_APP_OFF
  61. #define ASM_APP_OFF "#NO_APP\n"
  62.  
  63. /* The following macros are stolen from i386v4.h */
  64. /* These have to be defined to get PIC code correct */
  65.  
  66. /* This is how to output an element of a case-vector that is relative.
  67.    This is only used for PIC code.  See comments by the `casesi' insn in
  68.    i386.md for an explanation of the expression this outputs. */
  69.  
  70. #undef ASM_OUTPUT_ADDR_DIFF_ELT
  71. #define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, VALUE, REL) \
  72.   fprintf (FILE, "\t.long _GLOBAL_OFFSET_TABLE_+[.-%s%d]\n", LPREFIX, VALUE)
  73.  
  74. /* Indicate that jump tables go in the text section.  This is
  75.    necessary when compiling PIC code.  */
  76.  
  77. #define JUMP_TABLES_IN_TEXT_SECTION
  78.  
  79. /* Don't default to pcc-struct-return, because gcc is the only compiler, and
  80.    we want to retain compatibility with older gcc versions.  */
  81. #define DEFAULT_PCC_STRUCT_RETURN 0
  82.